{{tag>Precise Trusty BROUILLON}}
----
 
====== Des hôtes virtuels avec Apache2 installés n'importe où ======
 
Ceci est une astuce voire un tuto destiné soit à rejoindre la doc officielle [[:apache2|Apache2]], soit à fusionner avec le tuto sur les [[tutoriel:virtualhosts_avec_apache2|hôtes virtuels]].

Ce tuto est le resultat d'un approfondissement du fonctionnement de Apache2 suite aux problemes d'usagers du forum ubuntu-fr pour creer des hotes virtuels.

Ce tuto n'abordera pas le contexte des vhosts par ip destiné à un environnement de production.

===== Pré-requis =====
 
  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir installé au préalable [[:apache2|Apache2]].
 
===== Configuration =====
 
  * Associez vos noms d'hôtes à l'IP localhost 127.0.0.1 dans le fichier /etc/hosts
  * Utilisez le fichier /etc/apache2/sites-available/default comme modèle de configuration
  * Installez les fichiers ressources de vos sites (cms, atelier php, html statique, etc)

==== Hôte virtuel installé dans la partie root (Méthode fortement déconseillée) ====

  * créer un lien symbolique de /var/www/<nomdemonsite> vers le répertoire réel dans un dossier utilisateur:
  <code>sudo ln -s <répertoire réel> /var/www/<nomdemonsite></code>
  * donner suffisamment de droits pour que le lien symbolique soit accessible par l'utilisateur en acces non admin
  * modifier le modèle default selon les paramètres du vhost, créer autant de fichiers que de vhosts

==== Hôte virtuel installé dans la partie /home/votre-login ====

  * installer les données du site du vhost n'importe où dans votre zone utilisateur : /home/votre-login
  * modifier le modele default sur le paramètre document_root selon le chemin du vhost dans la zone utilisateur, créer autant de fichiers que de vhosts

===== Utilisation =====

  * Naviguez à l'adresse indiquée dans le /etc/hosts

==== Exemple rapide, EasyPhpAlbum Lite Version 2.3.2 : un album photo simple ====

EasyPhpAlbum Lite se constitue d'un fichier unique programmé en php (compatible v5), utilisant des fichiers textes comme fichiers de base de données. Son objectif est d'indexer et de présenter sous forme de vignettes cliquables les images se trouvant dans le même dossier que lui.

=== /etc/hosts ===

<code>
127.0.0.1	localhost
127.0.1.1	name-of-your-computer
127.0.0.1	homepics

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
</code>

=== /etc/apache2/sites-available/homepics ===

<code>
<VirtualHost *:80>
	ServerAdmin webmaster@homepics
	ServerName homepics

	DocumentRoot /home3/Images
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /home3/Images>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
		AddHandler cgi-script cgi php phtml
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
</code>

=== Installation du script php ===

  * copie du fichier EasyPhpAlbum Lite dans /home3/Images
  * renommer le script en index.php

=== Activation du site homepics avec la commande Apache2 : a2ensite ===

<code>sudo a2ensite homepics</code>

ou manuellement en créant un lien symbolique

<code>sudo ln -s /etc/apache2/sites-enabled /etc/apache2/sites-available/homepics</code>

**homepics** peut-être utilisée comme adresse url dans votre navigateur

{{:utilisateurs/j5012/brouillons/easyphpalbumlite_test_vhost_apache2.jpg?300}}

----
//Contributeurs principaux : [[utilisateurs:J5012]].//